Control-Flow Analysis with SAT Solvers
نویسندگان
چکیده
Control-flow analyses statically determine the control-flow of programs. This is a nontrivial problem for higher-order programming languages. This work attempts to leverage the power of SAT solvers to answer questions regarding control-flow. A brief overview of a traditional control-flow analysis is presented. Then an encoding is given which has the property that any satisfying assignment will give a conservative approximation of the true control-flow, along with additional ideas to improve the precision and efficiency of the encoding. The results of the encodings are then compared to those of a traditional implementation on several example programs. This approach is competitive in some instances with hand-optimized implementations. Finally, the paper concludes with a discussion of the implications of these results and work that can build upon them.
منابع مشابه
SAT-based Termination Analysis for Java Bytecode with AProVE
SAT solvers are nowadays the standard solving engines for the search problems in automated termination analysis. Consequently, the performance of current termination tools heavily relies on the speed of modern SAT solvers on the corresponding SAT encodings. If a model for the SAT instance at hand is found, it can be used to instantiate the parameters for the current proof step to advance the te...
متن کاملSearch techniques for SAT-based Boolean optimization
The last few years have seen significant advances in Boolean satisfiability (SAT) solving. This has lead to the successful deployment of SAT solvers in a wide range of problems in Engineering and Computer Science. In general, most SAT solvers are applied to Boolean decision problems that are expressed in conjunctive normal form (CNF). While this input format is applicable to some engineering ta...
متن کاملOn Solving Optimization Problems Using Boolean Satisfiability
The last few years have seen significant advances in Boolean satisfiability (SAT) solving. This has lead to the successful deployment of SAT solvers in a wide range of problems in Engineering and Computer Science. In general, most SAT solvers are applied to Boolean decision problems that are expressed in conjunctive normal form (CNF). While this input format is applicable to some engineering ta...
متن کاملAdaptive Restart Control for Conflict Driven SAT Solvers
As the SAT competition has shown, frequent restarts improve the speed of SAT solvers tremendously, particularly on satisfiable industrial instances. This paper presents a novel adaptive technique that measures the agility of the search process dynamically, which in turn is used to control the restart frequency. Experiments demonstrate, that this new dynamic restart strategy improves speed of ou...
متن کاملTowards Lightweight Satisfiability Solvers for Self-Verification (Invited Paper)
Solvers for Boolean satisfiability (SAT solvers) are essential for various hardware and software verification tasks such as equivalence checking, property checking, coverage analysis, etc. Nevertheless, despite the fact that very powerful solvers have been developed in the recent decades, this progress often still cannot cope with the exponentially increasing complexity of those verification ta...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013